package com.cms.work.service.sys;

import java.util.List;

import com.cms.work.core.service.BaseService;
import com.cms.work.entity.enums.CommonEnum.ResourceStatusEnum;
import com.cms.work.entity.sys.SysResource;
import com.cms.work.entity.sys.vo.ResourceRelationVo;
import com.cms.work.entity.sys.vo.SysRoleResourceVo;

/**
 * @describe 用户资源模块 
 * @author YY
 * @version v1.0
 * @date 2016-11-23 10:34:07
 */
public interface ISysResourceService extends BaseService<SysResource, Integer> {

	/**
     * <p>Description: 获取角色已拥有的资源</p>
     * @param roleId
     * @return
     * @date 2016年11月23日下午13:54:35
     */
	List<SysRoleResourceVo> selectRoleResourceByRoleId(int roleId);
	
	/**
     * <p>Description: 更新资源状态（1 启用 2 禁用）</p>
     * @param resourceId
     * @return status ResourceStatusEnum 
     * @date 2016年11月23日下午13:54:35
     */
	void updateResourceStatus(int resourceId, ResourceStatusEnum status);
	
	/**
     * <p>Description: 获取用户资源</p>
     * @param resourceId
     * @return status ResourceStatusEnum 
     * @date 2016年11月23日下午13:54:35
     */
	List<SysRoleResourceVo> getResourceByUserId(int userId);

	/**
	 * 获取根资源
	 * @return
	 */
	List<ResourceRelationVo> getRootResource();

	String getRootResourceById(Integer pid);
	
	/**
	 * 获取资源关系
	 * @param ids
	 * @return
	 */
	List<ResourceRelationVo> getResourceRelation(Integer pid);

	/**
	 * 获取最大排序
	 * @return
	 */
	Integer getMaxSort();
}

